草庐IT

C++11 线程 : sleep for a remaining time

全部标签

c# - 是否可以启动相同的线程?

我有一些计算程序。现在,这个程序是单线程的,我需要增强它以使其成为多线程。一般来说,程序计算,热电路的动态演化(一些配置类型的不同涉及元素(管,泵,active区及其连接),对于每个时间步长程序计算扩散方程(http://en.wikipedia.org/wiki/Diffusion_equation))问题是,在每个时间步上,每个涉及的元素都可以单独处理,但在每个新的时间步上,所有元素都应该相互同步。我决定通过从每个时间步开始每个元素一个线程来解决它。privatevoidSolveElementDynamic(objectelement){if(elementisPJunction

c++ - 如何判断一个线程是否有消息队列?

有什么方法可以通过threadId判断一个线程是否有消息队列?基本上有一些windowsapi只有在线程有消息queue.window时才工作 最佳答案 您可以使用带有线程ID的PostThreadMessage。如果PostThreadMessage返回false且GetLastError返回ERROR_INVALID_THREAD_ID,则线程ID无效或线程没有消息队列。更多信息http://msdn.microsoft.com/en-us/library/ms644946(VS.85).aspx

c++ - 如何正确终止 dll 中的挂起线程?

大家好,我有一个包含错误的第三方库。当我调用一个函数时,它可能会挂起。库函数在dll中被调用。我决定将调用移到线程中并等待一段时间。如果线程完成,则确定。如果不是——我应该强制终止它。此处的简化示例:unsignedCounter=0;voidf(){HANDLEhThread;unsignedthreadID;//Createthesecondthread.hThread=(HANDLE)_beginthreadex(NULL,0,DoSomething,NULL,0,&threadID);if(WAIT_TIMEOUT==WaitForSingleObject(hThread,50

python - 线程后的代码提前执行,为什么?

fromthreadingimportThreadimporttimeprint'startofscript'classMyThread(Thread):defrun(self):foriinxrange(10):print'thread->','['+self.name+']','('+str(i)+')'time.sleep(2)foriinrange(3):my_thread=MyThread()my_thread.name=imy_thread.start()print'endofscript'>>>================================RESTART

c++ - 如何在不等待 C++ 响应的情况下启动线程?

在一个for循环中有一个CreateThread()调用,我希望所有的线程依次启动,每个线程向一个对象写入数据。`$while(ii!=mapOServs.end()){Array_of_Thread_Handles[i]=CreateThread(NULL,0,MyThread,&args[i],0,NULL);}但线程只有在遇到WaitForMultipleObjects或WaitForSingleObject时才会启动。如何在不等待响应的情况下让所有线程依次运行?另外,最好使用什么对象,以便它可以同时被不同的线程修改。 最佳答案

c++ - D3D11CreateDeviceAndSwapChain 未解析的外部

这完全让我发疯。当我编译我的程序时,我收到以下错误消息:错误LNK2019:无法解析的外部符号_D3D11CreateDeviceAndSwapChain@48我知道我拥有所有正确的lib/和include目录(x86),并且我已经将问题追踪到这样一个事实:如果我转到定义(F12),我会得到两个符号,一个用于DirectXSDK安装目录,一个位于“c:\ProgramFiles(x86)\WindowsKits\8.0\Include\um”。对于我的生活,我不知道该做什么。我已经遍历了所有包含/排除目录,但无法解析它,而且我不知道该怎么做。谁能帮帮我? 最

c++ - 创建线程不接受成员函数

我正在尝试为网络编程创建一个类。这将创建一个带线程的通用套接字。但是当我尝试使用createthread()创建线程时。第三个参数是产生错误。从网上我了解到我不能使用成员函数作为createthread()的参数。有什么可以实现的吗? 最佳答案 处理这个问题的最简单方法是创建一个“stub”函数,它会回调到您的类中。UINTtidHANDLEhThread=CreateThread(NULL,0,myThreadStub,this,0,&tid);....unsignedlongWINAPImyThreadStub(void*ptr

windows - 最大线程数

这个问题在这里已经有了答案:What'sthemaximumnumberofthreadsinWindowsServer2003?(8个答案)关闭9年前。Delphi开发的32位和64位应用程序的最大线程数是多少?我需要知道在32位应用程序上同时运行的线程的限制是多少,因为我正在进行性能分析并且我想让操作系统管理正在等待的线程的执行顺序。

asp.net - ASP站点可与Win7 IE 11一起使用,但不能与Win10 IE11一起使用

所以我们有这个旧的ASP网站(不会死)。它当前位于win2k12上,并由spn和kerberos代理设置。它使用一个Com。对象,该对象运行一个.vbs,它与Activity目录进行了大量交谈。我们将开始推出Windows10实现。在我们的开发环境中,它可以与win7/IE11和win10/IE11一起使用在我们的生产环境中,win7/IE11已经起作用(并且仍然起作用),但是win10/IE11却不起作用。一些错误消息是ActiveDirectoryerror'80040e37'Thespecifieddirectoryserviceattributeorvaluedoesnotex

c++ - 在不减慢线程速度的情况下保存大量数据

我需要保存视频系统的踪迹,以便以后在Windows机器上检查重播。帧生成是在线程中完成的,我想在处理函数结束时保存帧,例如voidgenerate_video_frame(){....save_frame(frame);}为避免减慢生成线程的速度,save_frame必须尽快完成此操作。最终目标是在磁盘上保存视频的踪迹。每个帧都可能很大(甚至20-30MB),所以我不能将所有内容都存储在RAM中,因为我最终会完全填满它。我想到了两个解决方案:填充帧队列并使用另一个线程将其清空并将其刷新到磁盘(因此主线程不会受到影响)。如果刷新到磁盘线程较慢(如我所料),这最终也可能会填满RAM使用ma